package gui;

import java.sql.SQLException;

import gestionBDD.requetesClient;
import gestionBDD.requetesCommande;
import interne.*;
import com.trolltech.qt.gui.*;

public class fenetreExpedition extends QWidget {

	Commande commande ;
	QLineEdit nomExpLineEdit ;
	QLineEdit prenomExpLineEdit ;
	QLineEdit adresseExpLineEdit ;
	
	/**
	 * Constructeur la fenêtre Demande des coordonnées d'expédition
	 * @param c
	 */
	public fenetreExpedition(Commande c) {
		setCommande(c) ;
		
        /** Coordonnées' GroupBox' **/
        QGroupBox coordonneesExpGroup = new QGroupBox(tr("Coordonnées d'expédition :"));
 
        /* Nom Line Edit with Label */
        QLabel nomExpLabel = new QLabel(tr("Nom :"));
        nomExpLineEdit = new QLineEdit(c.getNomDest());
        nomExpLineEdit.setFocus();
        
        /* Prénom LineEdit with Label */
        QLabel prenomExpLabel = new QLabel(tr("Prénom :"));
        prenomExpLineEdit = new QLineEdit(c.getPrenomDest());
        
        /* Adresse LineEdit with Label */
        QLabel adresseExpLabel = new QLabel(tr("Adresse :"));
        adresseExpLineEdit = new QLineEdit(c.getAdresseDest());
        
        /* Login's Layout */
        QGridLayout coordonneesLayout = new QGridLayout();
        coordonneesLayout.addWidget(nomExpLabel, 0, 0);
        coordonneesLayout.addWidget(nomExpLineEdit, 0, 1);
        coordonneesLayout.addWidget(prenomExpLabel, 1, 0);
        coordonneesLayout.addWidget(prenomExpLineEdit, 1, 1);
        coordonneesLayout.addWidget(adresseExpLabel, 2, 0);
        coordonneesLayout.addWidget(adresseExpLineEdit, 2, 1);
        coordonneesExpGroup.setLayout(coordonneesLayout);

        /* Bouton Connexion */
        QPushButton boutonValiderCommande = new QPushButton("Commander !");
        boutonValiderCommande.clicked.connect(this, "commander()");     

        // Dialog Layout
        QGridLayout layout = new QGridLayout();
        layout.addWidget(coordonneesExpGroup, 1, 0);
        layout.addWidget(boutonValiderCommande, 2, 1);
        setLayout(layout);
	}

	/**
	 * Fin de la commande
	 * Infos : Met à jour l'entrée de commande correspondante
	 * @throws SQLException
	 */
	public void commander() throws SQLException {
		requetesCommande.updateCommande(getCommande());
		
		Client c = new Client(commande.getIdClient());
		requetesClient.trouverAvecId(c) ;
		fenetreClient fenetre = new fenetreClient(c);
		QMainWindow menuPrincipal = (QMainWindow) this.parentWidget() ;
		menuPrincipal.setCentralWidget(fenetre) ;
	}
	
	public Commande getCommande() {
		return commande;
	}

	public void setCommande(Commande commande) {
		this.commande = commande;
	}
	
}
